home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 3 / CD ACTUAL 3.iso / linux / system / srouted-.000 / srouted- / srouted-0.1pl1 / error.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-17  |  4.0 KB  |  168 lines

  1. /* error.h -- error/notification/tracing support */
  2.  
  3. /*
  4.  *    $Id: error.h,v 1.4 1995/02/17 02:11:19 buhr Exp $
  5.  */
  6.  
  7. #ifndef INC_ERROR_H
  8. #define INC_ERROR_H
  9.  
  10. #include "table.h"
  11.  
  12. #include <stdio.h>
  13. #include <sys/socket.h>
  14. #include <sys/types.h>
  15. #include <protocols/routed.h>
  16.  
  17. enum er_code {
  18.    ERC_NOERROR,
  19.  
  20. /* input.c */
  21.    ERCIN_BADFROM,
  22.    ERCIN_VERS0,
  23.    ERCIN_CZ,
  24.    ERCIN_CZE,
  25.    ERCIN_CMD0,
  26.    ERCIN_UNKCMD,
  27.    ERCIN_CMD34,
  28.    ERCIN_CMD5,
  29.    ERCIN_UNKAF,
  30.    ERCIN_RESPPORT,
  31.    ERCIN_RESPREMOTE,
  32.    ERCIN_BADMETRIC,
  33.    ERCIN_BADADDR,
  34.    ERCIN_RTFULL,
  35.    ERCIN_RTSUPER,
  36.  
  37. /* output.c */
  38.    ERCOUT_SENDTO,
  39.    ERCOUT_FULLOUT,
  40.    ERCOUT_BADIFACE,
  41.  
  42. /* kernel.c */
  43.    ERCKR_NOIPSOCK,
  44.    ERCKR_IOCTL,
  45.    ERCKR_IFFULL,
  46.    ERCKR_XADDRT,
  47.    ERCKR_XDELRT,
  48.  
  49. /* table.c */
  50.    ERCTB_RTFULL,
  51.    ERCTB_RTDUP,
  52.    ERCTB_INVDEST,
  53.    ERCTB_BADSUPER,
  54.  
  55. /* driver.c */
  56.    ERCDR_SYNTAX,
  57.    ERCDR_NOTROOT,
  58.    ERCDR_BIGRIP,
  59.    ERCDR_SELECT,
  60.    ERCDR_ADDRSIZE,
  61.    ERCDR_SOCKET,
  62.    ERCDR_FCNTL,
  63.    ERCDR_SSOPT,
  64.    ERCDR_BIND,
  65.    ERCDR_RECVFROM,
  66.    ERCDR_GETSERV,
  67.  
  68. /* notification/tracing codes start here */
  69. /* driver.c */
  70.    ERCDR_USINGPORT,
  71.    ERCDR_GETIFCONF,
  72.    ERCDR_INITROUTE,
  73.    ERCDR_GETTABLE,
  74.    ERCDR_DUMPROUTE,
  75.    ERCDR_SCHED,
  76.    ERCDR_TIMEOUT,
  77.    ERCDR_GOTINPUT,
  78.  
  79. /* input.c */
  80.    ERCIN_GOTINPUT,
  81.    ERCIN_IGNOREREQUEST,
  82.    ERCIN_GOTREQUEST,
  83.    ERCIN_REQWHOLE,
  84.    ERCIN_REQENTRY,
  85.    ERCIN_REQANSWER,
  86.    ERCIN_GOTRESPONSE,
  87.    ERCIN_RESENTRY,
  88.    ERCIN_IGNOREHOST,
  89.    ERCIN_RESADDED,
  90.    ERCIN_HADROUTE,
  91.    ERCIN_REPEATROUTE,
  92.    ERCIN_RESDELETED,
  93.    ERCIN_RESIGNORED,
  94.  
  95. /* output.c */
  96.    ERCOUT_SENDING,
  97.    ERCOUT_UPDATE,
  98.    ERCOUT_SENDTABLE,
  99.    ERCOUT_GETTABLE,
  100.  
  101. /* kernel.c */
  102.    ERCKR_DELRT,
  103.    ERCKR_ADDRT,
  104.  
  105. /* table.c */
  106.    ERCTB_ADDEDSUPER,
  107.    ERCTB_IFDEFAULT,
  108.    ERCTB_ADDRT,
  109.    ERCTB_DELRT,
  110.    ERCTB_KEPTRT,
  111.    ERCTB_KILLRT,
  112.  
  113. /* timer.c */
  114.    ERCTM_SETTO,
  115.    ERCTM_SETGC,
  116.    ERCTM_KILL,
  117.    ERCTM_TIMEOUT,
  118.    ERCTM_GARBCOLL,
  119.    ERCTM_NETO,
  120.    ERCTM_NEGC,
  121.    ERCTM_NENONE,
  122.  
  123.    ERC_LAST
  124. };
  125.  
  126. #define warn0(code)        er_log( ERL_WARN, code ) 
  127. #define warn1(code,a1)        er_log( ERL_WARN, code, (a1) ) 
  128. #define warn2(code,a1,a2)    er_log( ERL_WARN, code, (a1), (a2) ) 
  129. #define warn3(code,a1,a2,a3)    er_log( ERL_WARN, code, (a1), (a2), (a3) ) 
  130. #define warn4(code,a1,a2,a3,a4)    er_log( ERL_WARN, code, (a1), (a2), (a3), (a4) ) 
  131. #define warn5(code,a1,a2,a3,a4,a5)    er_log( ERL_WARN, code, (a1), (a2), (a3), (a4), (a5) ) 
  132.  
  133. #define weakwarn0(code)        er_log( ERL_WEAKWARN, code ) 
  134. #define weakwarn1(code,a1)    er_log( ERL_WEAKWARN, code, (a1) ) 
  135. #define weakwarn2(code,a1,a2)    er_log( ERL_WEAKWARN, code, (a1), (a2) ) 
  136. #define weakwarn3(code,a1,a2,a3) er_log( ERL_WEAKWARN, code, (a1), (a2), (a3) ) 
  137. #define weakwarn4(code,a1,a2,a3,a4) er_log( ERL_WEAKWARN, code, (a1), (a2), (a3), (a4) ) 
  138. #define weakwarn5(code,a1,a2,a3,a4,a5)    er_log( ERL_WEAKWARN, code, (a1), (a2), (a3), (a4), (a5) ) 
  139.  
  140. #define die0(code)        er_log( ERL_DIE, code ) 
  141. #define die1(code,a1)        er_log( ERL_DIE, code, (a1) ) 
  142. #define die2(code,a1,a2)    er_log( ERL_DIE, code, (a1), (a2) ) 
  143. #define die3(code,a1,a2,a3)    er_log( ERL_DIE, code, (a1), (a2), (a3) ) 
  144. #define die4(code,a1,a2,a3,a4)    er_log( ERL_DIE, code, (a1), (a2), (a3), (a4) ) 
  145. #define die5(code,a1,a2,a3,a4,a5)    er_log( ERL_DIE, code, (a1), (a2), (a3), (a4), (a5) ) 
  146.  
  147. #define note0(code)        er_log( ERL_NOTE, code ) 
  148. #define note1(code,a1)        er_log( ERL_NOTE, code, (a1) ) 
  149. #define note2(code,a1,a2)    er_log( ERL_NOTE, code, (a1), (a2) ) 
  150. #define note3(code,a1,a2,a3)    er_log( ERL_NOTE, code, (a1), (a2), (a3) ) 
  151. #define note4(code,a1,a2,a3,a4)    er_log( ERL_NOTE, code, (a1), (a2), (a3), (a4) ) 
  152. #define note5(code,a1,a2,a3,a4,a5)    er_log( ERL_NOTE, code, (a1), (a2), (a3), (a4), (a5) ) 
  153. #define note6(code,a1,a2,a3,a4,a5,a6)    er_log( ERL_NOTE, code, (a1), (a2), (a3), (a4), (a5), (a6) ) 
  154.  
  155. #define ERL_FORCE    (-1)
  156. #define ERL_DIE        0
  157. #define ERL_WARN    1
  158. #define ERL_WEAKWARN    2
  159. #define ERL_NOTE    3
  160.  
  161. void er_log( int level, enum er_code code, ... );
  162. void er_dumproute( int rti );
  163. void er_dumprip( struct rip *rip, int length, struct tb_address *from );
  164. void er_dumpripe( struct rip *rip, int entry );
  165. void er_tracechange( void );
  166.  
  167. #endif INC_ERROR_H
  168.